From: Claudio Cambra Date: Mon, 20 Jan 2025 03:55:33 +0000 (+0800) Subject: Enforce chunk size provided by server capabilities X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~2^2~117^2~9 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=a7d044f9e6c6d43cd497a2c47c05b2a2aa7b41ef;p=nextcloud-desktop.git Enforce chunk size provided by server capabilities Signed-off-by: Claudio Cambra --- diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp index 7e30d02f3..ee028cdd2 100644 --- a/src/gui/folder.cpp +++ b/src/gui/folder.cpp @@ -1154,16 +1154,17 @@ SyncOptions Folder::initializeSyncOptions() const opt._parallelNetworkJobs = account->isHttp2Supported() ? 20 : 6; // Chunk V2: Size of chunks must be between 5MB and 5GB, except for the last chunk which can be smaller - const auto capsMaxChunkSize = account->capabilities().maxChunkSize(); - const auto validCapsChunkSize = capsMaxChunkSize <= 0; - const auto maxChunkSize = validCapsChunkSize ? capsMaxChunkSize : cfgFile.maxChunkSize(); - const auto preferredChunkSize = validCapsChunkSize ? capsMaxChunkSize : cfgFile.chunkSize(); - - opt.setMinChunkSize(cfgFile.minChunkSize()); - opt.setMaxChunkSize(maxChunkSize); - opt._initialChunkSize = ::qBound(opt.minChunkSize(), preferredChunkSize, opt.maxChunkSize()); - opt._targetChunkUploadDuration = cfgFile.targetChunkUploadDuration(); - + if (const auto capsMaxChunkSize = account->capabilities().maxChunkSize(); capsMaxChunkSize <= 0) { + opt.setMinChunkSize(capsMaxChunkSize); + opt.setMaxChunkSize(capsMaxChunkSize); + opt._initialChunkSize = capsMaxChunkSize); + } else { + const auto cfgMinChunkSize = cfgFile.minChunkSize(); + const auto cfgMaxChunkSize = cfgFile.maxChunkSize(); + opt.setMinChunkSize(cfgMinChunkSize); + opt.setMaxChunkSize(cfgMaxChunkSize); + opt._initialChunkSize = ::qBound(cfgMinChunkSize, cfgFile.chunkSize(), cfgMaxChunkSize); + } opt.fillFromEnvironmentVariables(); opt.verifyChunkSizes();